home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 46 / Amiga Format CD46 (1999-10-20)(Future Publishing)(GB)[!][issue 1999-12].iso / -serious- / programming / other / tandem / teaching / 51.asm < prev    next >
Assembly Source File  |  1999-09-06  |  1KB  |  54 lines

  1. * Teaching/51.asm      Requester hooks      0.01   8.6.99
  2.  
  3.  
  4. ; This program shows you how to use xxp_hook0,xxp_hook1 and xxp_hook2 to
  5. ; modify the appearance of requesters. This program puts a picture
  6. ; at the right of an otherwise minimal TLreqchoose requester.
  7.  
  8.  
  9.  include 'Front.i'
  10.  
  11.  
  12. strings: dc.b 0
  13.  ds.w 0
  14.  
  15.  
  16. * entry point
  17. Program:
  18.  TLwindow #-1              ;intialise everything (hooks get zapped)
  19.  beq.s Pr_quit
  20.  move.l #Hook0,xxp_hook0(a4) ;attach hook0
  21.  move.l #Hook1,xxp_hook1(a4) ;attach hook1
  22.  move.l #'OK! ',(a4)       ;text for requester
  23.  clr.b 4(a4)
  24.  TLreqchoose               ;put up minimal reqchoose requester
  25.  
  26. Pr_quit:
  27.  rts
  28.  
  29.  
  30. * make requester wider
  31. Hook0:
  32.  add.l #100,xxp_reqw(a4)   ;make requester 100 dots wider before drawing
  33.  rts
  34.  
  35.  
  36. * put bev on requester
  37. Hook1:
  38.  move.l xxp_reqw(a4),d0    ;draw a bev box at the rhs of the window
  39.  sub.w #80,d0
  40.  moveq #60,d2
  41.  moveq #4,d1
  42.  move.l xxp_reqh(a4),d3
  43.  subq.l #8,d3
  44.  TLreqbev d0,d1,d2,d3,rec
  45.  
  46.  add.w #26,d0              ;draw a tick in the bev
  47.  subq.w #8,d3
  48.  lsr.w #1,d3
  49.  add.w d3,d1
  50.  move.l d1,d2
  51.  move.l d0,d1
  52.  TLpict #10,d1,d2
  53.  rts
  54.